struct _POP_FX_DEVICE// Size=0x308
{
    struct _LIST_ENTRY Link;// Offset=0x0 Size=0x8
    struct _IRP * Irp;// Offset=0x8 Size=0x4
    struct _POP_IRP_DATA * IrpData;// Offset=0xc Size=0x4
    union _POP_FX_DEVICE_STATUS Status;// Offset=0x10 Size=0x4
    long PowerReqCall;// Offset=0x14 Size=0x4
    long PowerNotReqCall;// Offset=0x18 Size=0x4
    struct _DEVICE_NODE * DevNode;// Offset=0x1c Size=0x4
    struct PEPHANDLE__ * DpmContext;// Offset=0x20 Size=0x4
    struct _POP_FX_PLUGIN * Plugin;// Offset=0x24 Size=0x4
    struct PEPHANDLE__ * PluginHandle;// Offset=0x28 Size=0x4
    struct _POP_FX_PLUGIN * AcpiPlugin;// Offset=0x2c Size=0x4
    struct PEPHANDLE__ * AcpiPluginHandle;// Offset=0x30 Size=0x4
    struct _DEVICE_OBJECT * DeviceObject;// Offset=0x34 Size=0x4
    struct _DEVICE_OBJECT * TargetDevice;// Offset=0x38 Size=0x4
    struct _POP_FX_DRIVER_CALLBACKS Callbacks;// Offset=0x3c Size=0x28
    void * DriverContext;// Offset=0x64 Size=0x4
    struct _LIST_ENTRY AcpiLink;// Offset=0x68 Size=0x8
    struct _UNICODE_STRING DeviceId;// Offset=0x70 Size=0x8
    struct _IO_REMOVE_LOCK RemoveLock;// Offset=0x78 Size=0x18
    struct _IO_REMOVE_LOCK AcpiRemoveLock;// Offset=0x90 Size=0x18
    struct _POP_FX_WORK_ORDER WorkOrder;// Offset=0xa8 Size=0x1c
    unsigned long IdleLock;// Offset=0xc4 Size=0x4
    struct _KTIMER IdleTimer;// Offset=0xc8 Size=0x28
    struct _KDPC IdleDpc;// Offset=0xf0 Size=0x20
    unsigned long long IdleTimeout;// Offset=0x110 Size=0x8
    unsigned long long IdleStamp;// Offset=0x118 Size=0x8
    struct _DEVICE_OBJECT * NextIrpDeviceObject[2];// Offset=0x120 Size=0x8
    union _POWER_STATE NextIrpPowerState[2];// Offset=0x128 Size=0x8
    void  ( * NextIrpCallerCompletion)[2];// Offset=0x130 Size=0x8
    void * NextIrpCallerContext[2];// Offset=0x138 Size=0x8
    struct _KEVENT IrpCompleteEvent;// Offset=0x140 Size=0x10
    unsigned char  ( * PowerOnDumpDeviceCallback)(struct _PEP_CRASHDUMP_INFORMATION * );// Offset=0x150 Size=0x4
    struct _POP_FX_ACCOUNTING Accounting;// Offset=0x158 Size=0xd8
    unsigned long Flags;// Offset=0x230 Size=0x4
    unsigned long ComponentCount;// Offset=0x234 Size=0x4
    struct _POP_FX_COMPONENT ** Components;// Offset=0x238 Size=0x4
    unsigned long LogEntries;// Offset=0x23c Size=0x4
    struct _POP_FX_LOG_ENTRY * Log;// Offset=0x240 Size=0x4
    long LogIndex;// Offset=0x244 Size=0x4
    struct _DRIVER_OBJECT * DripsWatchdogDriverObject;// Offset=0x248 Size=0x4
    struct _POP_FX_DRIPS_WATCHDOG_CONTEXT DripsWatchdogContext;// Offset=0x24c Size=0x14
    unsigned long DirectedTimeout;// Offset=0x260 Size=0x4
    struct _POP_FX_WORK_ORDER DirectedWorkOrder;// Offset=0x264 Size=0x1c
    struct _POP_FX_WORK_ORDER_WATCHDOG_INFO DirectedWorkWatchdogInfo;// Offset=0x280 Size=0x68
    unsigned long DirectedLock;// Offset=0x2e8 Size=0x4
    long DirectedTransitionCallCount;// Offset=0x2ec Size=0x4
    struct _POP_FX_DEVICE_DIRECTED_TRANSITION_STATE DirectedTransitionState;// Offset=0x2f0 Size=0xc
    struct _POP_DEVICE_POWER_PROFILE * PowerProfile;// Offset=0x2fc Size=0x4
    struct _UNICODE_STRING FriendlyName;// Offset=0x300 Size=0x8
};